Distributed network-based computing is growing quickly, particularly with the computerization of corporations and the expansion of the Internet. Security for distributed network-based computing is thus of utmost importance to ensure data integrity and privacy, and to maintain corporate and intellectual integrity.
One particular threat to security in distributed network-based computing involves program execution on a remote host (“host” is used herein synonymously with host computer) that may or may not be reliable or “trusted.” The prior art has been unable to ensure that (a) such program execution is performed correctly or (b) the remote host learned nothing of computations or data associated with underlying program execution. Accordingly, improvements to network security to address these security issues are needed.
One object of the invention is to provide a method for encrypting and subsequently executing programs on a remote computer in a manner that solves the afore-mentioned problems. Special computing hardware is not required. This object and others will be apparent in the description that follows.